﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using TMD.GT.Site.Controladora;
using TMD.GT.Site.Util;
using TMD.GT.Entidades;


namespace TMD.GT.Site.Vistas.AlineacionComponente
{
    
    public partial class ActualizacionRiesgo : System.Web.UI.Page
    {

        
        protected void Page_Load(object sender, EventArgs e)
        {
            

             if (!Page.IsPostBack)
             {

                 ddlTipoRiesgo.DataSource = TipoRiesgoControladora.ListarTipoRiesgo();
                 ddlTipoRiesgo.DataValueField = "CODIGO_RIESGO_TIPO";
                 ddlTipoRiesgo.DataTextField = "DESCRIPCION";
                 ddlTipoRiesgo.DataBind();

                 if (   (string.IsNullOrEmpty(Request.QueryString["_Action"].ToString()) ? "" : Request.QueryString["_Action"].ToString())   == "N") 
                    { _Action.Value = Request.QueryString["_Action"].ToString(); }
                 else
                 { _Action.Value = "U"; }

                 if (_Action.Value == "N")
                 {
                    controles(true, _Action.Value);
                        
                 }
                 else
                 {
                         

                     if (string.IsNullOrEmpty(Request.QueryString["ID_RIESGO"].ToString().Trim()))
                     {
                          //mensaje-> la página no recibió los parámetros correctamente
                     }
                     else
                     {
                         Riesgo riesgo = RiesgoControladora.ListarRiesgos(new Riesgo { CODIGO_RIESGO = Convert.ToInt32(Request.QueryString["ID_RIESGO"].ToString()), DESCRIPCION = "", ESTADO = "", CODIGO_RIESGO_TIPO = 0, NOMBRE = "" }).FirstOrDefault();
                         lblCodigo.Text = riesgo.CODIGO_RIESGO.ToString();
                         txtNombre.Text = riesgo.NOMBRE;
                         ddlTipoRiesgo.SelectedValue = riesgo.CODIGO_RIESGO_TIPO.ToString();
                         ddlEstadoRiesgo.SelectedValue = riesgo.ESTADO;
                         txADescripcion.Text = riesgo.DESCRIPCION;
                         controles(false, _Action.Value);
                     }
                 }
            }
        }



        public void controles(Boolean state, String _Action) {
            lblCodigo.Enabled = state;
            txtNombre.Enabled = state;
            ddlTipoRiesgo.Enabled = state;
            ddlEstadoRiesgo.Enabled = state;
            txADescripcion.Enabled = state;

            if (_Action == "N") 
            {
                btnEditar.Visible = false;
                btnGuardar.Enabled = true;
            }

            if (_Action == "U")
            {
                btnEditar.Visible = true;
                btnGuardar.Enabled = state;
            }

        }

        protected void btnEditar_Click(object sender, EventArgs e)
        {
            controles(true,_Action.Value);
            _Action.Value = "U";
            btnEditar.Enabled = false;
        }

        protected void btnGuardar_Click(object sender, EventArgs e)
        {
            if (_Action.Value == "N") {
                RiesgoControladora.InsertarRiesgo(new Riesgo { CODIGO_RIESGO = 0, DESCRIPCION = txADescripcion.Text, ESTADO = ddlEstadoRiesgo.SelectedValue.ToString(), CODIGO_RIESGO_TIPO = Convert.ToInt32(ddlTipoRiesgo.SelectedValue.ToString()), NOMBRE = txtNombre.Text.ToString() });
            }


            if (_Action.Value == "U")
            {
                RiesgoControladora.ActualizarRiesgo(new Riesgo { CODIGO_RIESGO = Convert.ToInt32(lblCodigo.Text), DESCRIPCION = txADescripcion.Text, ESTADO = ddlEstadoRiesgo.SelectedValue.ToString(), CODIGO_RIESGO_TIPO = Convert.ToInt32(ddlTipoRiesgo.SelectedValue.ToString()), NOMBRE = txtNombre.Text.ToString() });
            }

        }

        protected void btnRetornar_Click(object sender, EventArgs e)
        {
            Response.Redirect("BusquedaRiesgos.aspx");
        }




    }
}